package com.kmxd.ams.client.system.dto;

import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;

/**
 * 系统消息
 *
 * @author ZuoLG
 * @since 2022-07-15
 */
@Schema(description = "系统消息对象")
@Data
public class SysMessagesQueryDTO implements Serializable {

  private static final long serialVersionUID = 1L;

  /** 主键 */
  @Schema(description = "主键")
  private Long id;

  /** 主键 */
  @Schema(description = "公司id")
  private Long comId;

  /** 主键 */
  @Schema(description = "全宗id")
  private Long fondsId;

  /** 主键 */
  @Schema(description = "通告对象类型（1:全体用户，2:指定用户，3:部门，4:岗位,5:角色）")
  private Integer sendType;

  /** 业务id */
  @Schema(description = "业务id")
  private Long bizId;
  /** 流程id */
  @Schema(description = "流程id")
  private String flowId;

  /** 角色id */
  @Schema(description = "角色id")
  private Long roleId;

  /** 部门id */
  @Schema(description = "部门id")
  private Long deptId;

  /** 门类id */
  @Schema(description = "门类id")
  private Long archTypeId;

  /** 标题 */
  @Schema(description = "标题")
  private String title;

  /** 内容 */
  @Schema(description = "内容")
  private String msgContent;

  /** 消息类型1:消息2：待办 */
  @Schema(description = "消息类型1:消息2：待办")
  private Integer msgCategory;

  /** 发布状态（0未发布0未读、1已读/已处理 */
  @Schema(description = "发布状态（0未发布,1未读,2已读/已处理")
  @TableField(exist = false)
  private Integer status;

  /** 打开方式 */
  @Schema(description = "打开方式")
  private String openType;

  /** 组件/路由 */
  @Schema(description = "组件/路由")
  private String openPage;

  /** 参数信息，根据业务自己定义 */
  @Schema(description = "参数信息，根据业务自己定义")
  private String openParameter;

  /** 创建人 */
  @Schema(description = "创建人")
  private Long createBy;

  /** 创建时间 */
  @Schema(description = "创建时间")
  private Date createTime;

  /** 更新人 */
  @Schema(description = "更新人")
  private Long updateBy;

  /** 更新时间 */
  @Schema(description = "更新时间")
  private Date updateTime;

  @Schema(description = "岗位id")
  @TableField(exist = false)
  private Long postId;

  @Schema(description = "用户id")
  @TableField(exist = false)
  private Long userId;
}
